package com.softeem.math;

/**
 * 数学类中常用的方法
 */
public class Math_01 {
    public static void main(String[] args) {
        double d1 = Math.abs(-5);//绝对值
        double d2 = Math.abs(5);

        //static double ceil(double a)
        //返回大于或等于参数的最小（最接近负无穷大） double值，等于一个数学整数。
        double d3 = Math.ceil(3.3);
        System.out.println("d3 = " + d3);//d3 = 4.0

        double d4 = Math.ceil(-3.3);//-3.0
        System.out.println("d4 = " + d4);

        //
        double d5 = Math.floor(3.3);
        System.out.println("d5 = " + d5);//d5 = 3.0

        //max求两个数谁比较大,返回较大的值
        double d6 = Math.max(10.9 , 11.1);

        //min方法:返回两个数中较小的值
        double d7 = Math.min(9.9,9.8);

        //pow方法:返回第一个参数的第二个参数的幂
        double d8 = Math.pow(2.0,3.0);
        System.out.println(d8);//8.0

        //round方法,实现四舍五入
        double d9 = Math.round(5.5);
        System.out.println(d9);//6.0

        double d10 = Math.round(5.4);
        System.out.println(d10);//5.0

        //random方法,产生随机小数,0 ~ 1之间,包含0但是不包含1
        double d11 = Math.random();
        System.out.println(d11);

        //sqrt,返回一个数的开平方
        double d12 = Math.sqrt(9);
        System.out.println(d12);
        //负数不可以开平方
        //System.out.println(Math.sqrt(-9.0));//NaN

        //立方根:cbrt()
        double d13 = Math.cbrt(-27);
        System.out.println(d13);//-3.0

        //static double rint(double a) : 返回最进阶参数并且等于某一个整数值的double值
        System.out.println(Math.rint(5.5));//6.0
        System.out.println(Math.rint(-5.9));//-6.0
        System.out.println(Math.rint(-5.1));//-5.0
    }
}
